import React from 'react'
export default class Test extends React.Component {
  // constructor() {
  //   super()
  //   // 定义状态
  //   this.state = {
  //     count: 1,
  //   }
  //   // 第二种解决this指向问题:
  //   // this.handle = () => {
  //   //   this.setState({
  //   //     count: this.state.count + 1,
  //   //   })
  //   // }

  //   // 第四种解决办法（react官网上写的）:
  //   // this.handle = this.handle.bind(this)
  // }

  // 将handle添加到了原型上
  // handle() {
  //   this.setState({
  //     count: this.state.count + 1,
  //   })
  // }
  // 下面的代码就是相当于写在构造器中的this.handle = () => {}
  handle = () => {
    this.setState({
      count: this.state.count + 1,
    })
  }

  state = { count: 1 }
  
  render() {
    return (
      <div>
        <p>{this.state.count}</p>
        {/* 第一种解决this指向的问题:  */}
        {/* <button onClick={this.handle.bind(this)}>+</button> */}
        {/* <button
          // 第三种解决办法:
          onClick={() => {
            this.handle()
          }}
        >
          +
        </button> */}
        <button onClick={this.handle}>+</button>
      </div>
    )
  }
}
